// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
import Clutter from 'gi://Clutter';
+import Cogl from 'gi://Cogl';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
import Gio from 'gi://Gio';
const DELAYED_MOVE_TIMEOUT = 200;
-const DIALOG_SHADE_NORMAL = new Clutter.Color({red: 0, green: 0, blue: 0, alpha: 204});
-const DIALOG_SHADE_HIGHLIGHT = new Clutter.Color({red: 0, green: 0, blue: 0, alpha: 85});
+const DIALOG_SHADE_NORMAL = new Cogl.Color({red: 0, green: 0, blue: 0, alpha: 204});
+const DIALOG_SHADE_HIGHLIGHT = new Cogl.Color({red: 0, green: 0, blue: 0, alpha: 85});
const DEFAULT_FOLDERS = {
'Utilities': {
this.child.get_transformed_position();
this.ease({
- background_color: new Clutter.Color({red: 0, green: 0, blue: 0, alpha: 0}),
+ background_color: new Cogl.Color({red: 0, green: 0, blue: 0, alpha: 0}),
duration: FOLDER_DIALOG_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
});
// MetaBackgroundImage MetaBackgroundImage
import Clutter from 'gi://Clutter';
+import Cogl from 'gi://Cogl';
import GDesktopEnums from 'gi://GDesktopEnums';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import * as Main from './main.js';
import * as Params from '../misc/params.js';
-const DEFAULT_BACKGROUND_COLOR = new Clutter.Color({red: 40, green: 40, blue: 40, alpha: 255});
+const DEFAULT_BACKGROUND_COLOR = new Cogl.Color({red: 40, green: 40, blue: 40, alpha: 255});
const BACKGROUND_SCHEMA = 'org.gnome.desktop.background';
const PRIMARY_COLOR_KEY = 'primary-color';
let colorString, res_, color, secondColor;
colorString = this._settings.get_string(PRIMARY_COLOR_KEY);
- [res_, color] = Clutter.Color.from_string(colorString);
+ [res_, color] = Cogl.Color.from_string(colorString);
colorString = this._settings.get_string(SECONDARY_COLOR_KEY);
- [res_, secondColor] = Clutter.Color.from_string(colorString);
+ [res_, secondColor] = Cogl.Color.from_string(colorString);
let shadingType = this._settings.get_enum(COLOR_SHADING_TYPE_KEY);
import Atspi from 'gi://Atspi';
import Clutter from 'gi://Clutter';
+import Cogl from 'gi://Cogl';
import GDesktopEnums from 'gi://GDesktopEnums';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
*/
setCrosshairsColor(color) {
if (this._crossHairs) {
- let [res_, clutterColor] = Clutter.Color.from_string(color);
+ let [res_, clutterColor] = Cogl.Color.from_string(color);
this._crossHairs.setColor(clutterColor);
}
}
* setColor:
* Set the color of the crosshairs.
*
- * @param {Clutter.Color} clutterColor The color
+ * @param {Cogl.Color} color The color
*/
- setColor(clutterColor) {
- this._horizLeftHair.background_color = clutterColor;
- this._horizRightHair.background_color = clutterColor;
- this._vertTopHair.background_color = clutterColor;
- this._vertBottomHair.background_color = clutterColor;
+ setColor(color) {
+ this._horizLeftHair.background_color = color;
+ this._horizRightHair.background_color = color;
+ this._vertTopHair.background_color = color;
+ this._vertBottomHair.background_color = color;
}
/**
// Enable the effect if the contrast OR brightness change are such that
// it modifies the brightness and/or contrast.
- // should be able to use Clutter.color_equal(), but that complains of
+ // should be able to use Cogl.Color.equal(), but that complains of
// a null first argument.
let [bRed, bGreen, bBlue] = this._brightnessContrast.get_brightness();
this._brightnessContrast.set_enabled(
import Atk from 'gi://Atk';
import Clutter from 'gi://Clutter';
+import Cogl from 'gi://Cogl';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
_setDimmed(dim) {
const val = 127 * (1 + (dim ? 1 : 0) * DIM_BRIGHTNESS);
- const color = new Clutter.Color({
+ const color = new Cogl.Color({
red: val,
green: val,
blue: val,
color: GObject.ParamSpec.boxed(
'color', 'color', 'replacement color',
GObject.ParamFlags.WRITABLE,
- Clutter.Color.$gtype),
+ Cogl.Color.$gtype),
chroma: GObject.ParamSpec.boxed(
'chroma', 'chroma', 'color to replace',
GObject.ParamFlags.WRITABLE,
- Clutter.Color.$gtype),
+ Cogl.Color.$gtype),
threshold: GObject.ParamSpec.float(
'threshold', 'threshold', 'threshold',
GObject.ParamFlags.WRITABLE,
},
}, class RecolorEffect extends Shell.GLSLEffect {
_init(params) {
- this._color = new Clutter.Color();
- this._chroma = new Clutter.Color();
+ this._color = new Cogl.Color();
+ this._chroma = new Cogl.Color();
this._threshold = 0;
this._smoothing = 0;
this.add_action(action);
this._recolorEffect = new RecolorEffect({
- chroma: new Clutter.Color({
+ chroma: new Cogl.Color({
red: 80,
green: 219,
blue: 181,
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
import Clutter from 'gi://Clutter';
+import Cogl from 'gi://Cogl';
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';
setDimmed(dimmed, animate) {
let val = 127 * (1 + (dimmed ? 1 : 0) * DIM_BRIGHTNESS);
- const color = new Clutter.Color({
+ const color = new Cogl.Color({
red: val,
green: val,
blue: val,
* @callback: (scope async): function to call returning success or failure
* of the async grabbing
*
- * Picks the pixel at @x, @y and returns its color as #ClutterColor.
+ * Picks the pixel at @x, @y and returns its color as #CoglColor.
*
*/
void
gboolean
shell_screenshot_pick_color_finish (ShellScreenshot *screenshot,
GAsyncResult *result,
- ClutterColor *color,
+ CoglColor *color,
GError **error)
{
ShellScreenshotPrivate *priv;
gpointer user_data);
gboolean shell_screenshot_pick_color_finish (ShellScreenshot *screenshot,
GAsyncResult *result,
- ClutterColor *color,
+ CoglColor *color,
GError **error);
void shell_screenshot_composite_to_stream (CoglTexture *texture,
struct _ShellTrayManagerPrivate {
NaTrayManager *na_manager;
- ClutterColor bg_color;
+ CoglColor bg_color;
GHashTable *icons;
StWidget *theme_widget;
static guint shell_tray_manager_signals [LAST_SIGNAL] = { 0 };
-static const ClutterColor default_color = { 0x00, 0x00, 0x00, 0xff };
+static const CoglColor default_color = { 0x00, 0x00, 0x00, 0xff };
static void shell_tray_manager_release_resources (ShellTrayManager *manager);
{
case PROP_BG_COLOR:
{
- ClutterColor *color = g_value_get_boxed (value);
+ CoglColor *color = g_value_get_boxed (value);
if (color)
manager->priv->bg_color = *color;
else
g_param_spec_boxed ("bg-color",
"BG Color",
"Background color (only if we don't have transparency)",
- CLUTTER_TYPE_COLOR,
+ COGL_TYPE_COLOR,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
}
StEntryPrivate *priv = ST_ENTRY_PRIV (self);
StThemeNode *theme_node;
StShadow *shadow_spec;
- ClutterColor color;
+ CoglColor color;
gdouble size;
theme_node = st_widget_get_theme_node (self);
if (colors == NULL || other == NULL)
return FALSE;
- return clutter_color_equal (&colors->foreground, &other->foreground) &&
- clutter_color_equal (&colors->warning, &other->warning) &&
- clutter_color_equal (&colors->error, &other->error) &&
- clutter_color_equal (&colors->success, &other->success);
+ return cogl_color_equal (&colors->foreground, &other->foreground) &&
+ cogl_color_equal (&colors->warning, &other->warning) &&
+ cogl_color_equal (&colors->error, &other->error) &&
+ cogl_color_equal (&colors->success, &other->success);
}
G_DEFINE_BOXED_TYPE (StIconColors,
* icon.
*/
struct _StIconColors {
- ClutterColor foreground;
- ClutterColor warning;
- ClutterColor error;
- ClutterColor success;
+ CoglColor foreground;
+ CoglColor warning;
+ CoglColor error;
+ CoglColor success;
};
GType st_icon_colors_get_type (void) G_GNUC_CONST;
}
static char *
-color_to_string_noalpha (const ClutterColor *color)
+color_to_string_noalpha (const CoglColor *color)
{
return g_strdup_printf ("rgb(%d,%d,%d)",
color->red,
}
static void
-color_to_pixel(const ClutterColor *color,
- uint8_t pixel[4])
+color_to_pixel(const CoglColor *color,
+ uint8_t pixel[4])
{
pixel[0] = color->red;
pixel[1] = color->green;
StThemeNode *theme_node)
{
- ClutterColor color;
+ CoglColor color;
StTextDecoration decoration;
PangoAttrList *attribs = NULL;
const PangoFontDescription *font;
* Returns: the newly allocated shadow. Use st_shadow_free() when done
*/
StShadow *
-st_shadow_new (ClutterColor *color,
+st_shadow_new (CoglColor *color,
gdouble xoffset,
gdouble yoffset,
gdouble blur,
* that a few false negatives are mostly harmless.
*/
- return (clutter_color_equal (&shadow->color, &other->color) &&
+ return (cogl_color_equal (&shadow->color, &other->color) &&
shadow->xoffset == other->xoffset &&
shadow->yoffset == other->yoffset &&
shadow->blur == other->blur &&
* Attributes of the -st-shadow property.
*/
struct _StShadow {
- ClutterColor color;
+ CoglColor color;
gdouble xoffset;
gdouble yoffset;
gdouble blur;
GType st_shadow_get_type (void) G_GNUC_CONST;
-StShadow *st_shadow_new (ClutterColor *color,
+StShadow *st_shadow_new (CoglColor *color,
gdouble xoffset,
gdouble yoffset,
gdouble blur,
****/
typedef struct {
- ClutterColor color;
- ClutterColor border_color_1;
- ClutterColor border_color_2;
+ CoglColor color;
+ CoglColor border_color_1;
+ CoglColor border_color_2;
guint radius;
guint border_width_1;
guint border_width_2;
#define MULT(c,a) NORM(c*a)
static void
-premultiply (ClutterColor *color)
+premultiply (CoglColor *color)
{
guint t;
color->red = MULT (color->red, color->alpha);
}
static void
-unpremultiply (ClutterColor *color)
+unpremultiply (CoglColor *color)
{
if (color->alpha != 0)
{
}
static void
-over (const ClutterColor *source,
- const ClutterColor *destination,
- ClutterColor *result)
+over (const CoglColor *source,
+ const CoglColor *destination,
+ CoglColor *result)
{
guint t;
- ClutterColor src = *source;
- ClutterColor dst = *destination;
+ CoglColor src = *source;
+ CoglColor dst = *destination;
premultiply (&src);
premultiply (&dst);
if (node->box_shadow == NULL)
return NULL;
else /* We still need a corner texture to render the box-shadow */
- corner.color = (ClutterColor) {0, 0, 0, 255};
+ corner.color = (CoglColor) {0, 0, 0, 255};
}
key = corner_to_string (&corner);
*/
static void
get_arbitrary_border_color (StThemeNode *node,
- ClutterColor *color)
+ CoglColor *color)
{
if (color)
st_theme_node_get_border_color (node, ST_SIDE_TOP, color);
gboolean interior_dirty;
gboolean draw_background_image_shadow = FALSE;
gboolean has_visible_outline;
- ClutterColor border_color;
+ CoglColor border_color;
guint border_width[4];
guint rowstride;
guchar *data;
guint max_border_radius = 0;
guint max_width_radius[4];
int corner_id, side_id;
- ClutterColor border_color;
+ CoglColor border_color;
guint8 alpha;
gboolean corners_are_transparent;
CoglColor pipeline_color;
border_width[ST_SIDE_BOTTOM] > 0 ||
border_width[ST_SIDE_LEFT] > 0)
{
- ClutterColor effective_border;
+ CoglColor effective_border;
gboolean skip_corner_1, skip_corner_2;
float rects[16];
gfloat shadow_blur_radius, x_spread_factor, y_spread_factor;
float rectangles[8 * 9];
gint idx;
- ClutterColor background_color;
- static const ClutterColor invisible_occluded = {3, 2, 1, 0};
+ CoglColor background_color;
+ static const CoglColor invisible_occluded = {3, 2, 1, 0};
if (paint_opacity == 0)
return;
/* Center middle is not definitely occluded? */
st_theme_node_get_background_color (node, &background_color);
- if (!clutter_color_equal (&background_color, &invisible_occluded) ||
+ if (!cogl_color_equal (&background_color, &invisible_occluded) ||
paint_opacity < 255 ||
xoffset > shadow_blur_radius || left < 0 ||
yoffset > shadow_blur_radius || top < 0)
float width, height;
int outline_width;
float rects[16];
- ClutterColor outline_color, effective_outline;
- CoglColor pipeline_color;
+ CoglColor outline_color, effective_outline, pipeline_color;
guint8 alpha;
width = box->x2 - box->x1;
PangoFontDescription *font_desc;
- ClutterColor background_color;
+ CoglColor background_color;
/* If gradient is set, then background_color is the gradient start */
StGradientType background_gradient_type;
- ClutterColor background_gradient_end;
+ CoglColor background_gradient_end;
int background_position_x;
int background_position_y;
gint background_size_w;
gint background_size_h;
- ClutterColor foreground_color;
- ClutterColor border_color[4];
- ClutterColor outline_color;
+ CoglColor foreground_color;
+ CoglColor border_color[4];
+ CoglColor outline_color;
int border_width[4];
int border_radius[4];
static void st_theme_node_dispose (GObject *object);
static void st_theme_node_finalize (GObject *object);
-static const ClutterColor BLACK_COLOR = { 0, 0, 0, 0xff };
-static const ClutterColor TRANSPARENT_COLOR = { 0, 0, 0, 0 };
-static const ClutterColor DEFAULT_SUCCESS_COLOR = { 0x4e, 0x9a, 0x06, 0xff };
-static const ClutterColor DEFAULT_WARNING_COLOR = { 0xf5, 0x79, 0x3e, 0xff };
-static const ClutterColor DEFAULT_ERROR_COLOR = { 0xcc, 0x00, 0x00, 0xff };
+static const CoglColor BLACK_COLOR = { 0, 0, 0, 0xff };
+static const CoglColor TRANSPARENT_COLOR = { 0, 0, 0, 0 };
+static const CoglColor DEFAULT_SUCCESS_COLOR = { 0x4e, 0x9a, 0x06, 0xff };
+static const CoglColor DEFAULT_WARNING_COLOR = { 0xf5, 0x79, 0x3e, 0xff };
+static const CoglColor DEFAULT_ERROR_COLOR = { 0xcc, 0x00, 0x00, 0xff };
G_DEFINE_TYPE (StThemeNode, st_theme_node, G_TYPE_OBJECT)
}
static GetFromTermResult
-get_color_from_rgba_term (CRTerm *term,
- ClutterColor *color)
+get_color_from_rgba_term (CRTerm *term,
+ CoglColor *color)
{
CRTerm *arg = term->ext_content.func_param;
CRNum *num;
static GetFromTermResult
get_color_from_term (StThemeNode *node,
CRTerm *term,
- ClutterColor *color)
+ CoglColor *color)
{
CRRgb rgb;
enum CRStatus status;
st_theme_node_lookup_color (StThemeNode *node,
const char *property_name,
gboolean inherit,
- ClutterColor *color)
+ CoglColor *color)
{
int i;
void
st_theme_node_get_color (StThemeNode *node,
const char *property_name,
- ClutterColor *color)
+ CoglColor *color)
{
if (!st_theme_node_lookup_color (node, property_name, FALSE, color))
{
g_warning ("Did not find color property '%s'", property_name);
- memset (color, 0, sizeof (ClutterColor));
+ memset (color, 0, sizeof (CoglColor));
}
}
{
const char *property_name = decl->property->stryng->str + 6; /* Skip 'border' */
StSide side = (StSide)-1;
- ClutterColor color;
+ CoglColor color;
gboolean color_set = FALSE;
int width = 0; /* suppress warning */
gboolean width_set = FALSE;
CRDeclaration *decl)
{
const char *property_name = decl->property->stryng->str + 7; /* Skip 'outline' */
- ClutterColor color;
+ CoglColor color;
gboolean color_set = FALSE;
int width = 0; /* suppress warning */
gboolean width_set = FALSE;
* Gets the color of @node's outline.
*/
void
-st_theme_node_get_outline_color (StThemeNode *node,
- ClutterColor *color)
+st_theme_node_get_outline_color (StThemeNode *node,
+ CoglColor *color)
{
g_return_if_fail (ST_IS_THEME_NODE (node));
* Gets @node's background color.
*/
void
-st_theme_node_get_background_color (StThemeNode *node,
- ClutterColor *color)
+st_theme_node_get_background_color (StThemeNode *node,
+ CoglColor *color)
{
g_return_if_fail (ST_IS_THEME_NODE (node));
*/
void
st_theme_node_get_foreground_color (StThemeNode *node,
- ClutterColor *color)
+ CoglColor *color)
{
g_return_if_fail (ST_IS_THEME_NODE (node));
void
st_theme_node_get_background_gradient (StThemeNode *node,
StGradientType *type,
- ClutterColor *start,
- ClutterColor *end)
+ CoglColor *start,
+ CoglColor *end)
{
g_return_if_fail (ST_IS_THEME_NODE (node));
void
st_theme_node_get_border_color (StThemeNode *node,
StSide side,
- ClutterColor *color)
+ CoglColor *color)
{
g_return_if_fail (ST_IS_THEME_NODE (node));
g_return_if_fail (side >= ST_SIDE_TOP && side <= ST_SIDE_LEFT);
static GetFromTermResult
parse_shadow_property (StThemeNode *node,
CRDeclaration *decl,
- ClutterColor *color,
+ CoglColor *color,
gdouble *xoffset,
gdouble *yoffset,
gdouble *blur,
gboolean inherit,
StShadow **shadow)
{
- ClutterColor color = { 0., };
+ CoglColor color = { 0., };
gdouble xoffset = 0.;
gdouble yoffset = 0.;
gdouble blur = 0.;
gboolean shared_with_parent;
int i;
- ClutterColor color = { 0, };
+ CoglColor color = { 0, };
guint still_need = FOREGROUND | WARNING | ERROR | SUCCESS;
_st_theme_node_ensure_background (node);
_st_theme_node_ensure_background (other);
- if (!clutter_color_equal (&node->background_color, &other->background_color))
+ if (!cogl_color_equal (&node->background_color, &other->background_color))
return FALSE;
if (node->background_gradient_type != other->background_gradient_type)
return FALSE;
if (node->background_gradient_type != ST_GRADIENT_NONE &&
- !clutter_color_equal (&node->background_gradient_end, &other->background_gradient_end))
+ !cogl_color_equal (&node->background_gradient_end, &other->background_gradient_end))
return FALSE;
if ((node->background_image != NULL) &&
return FALSE;
if (node->border_width[i] > 0 &&
- !clutter_color_equal (&node->border_color[i], &other->border_color[i]))
+ !cogl_color_equal (&node->border_color[i], &other->border_color[i]))
return FALSE;
if (node->border_radius[i] != other->border_radius[i])
return FALSE;
if (node->outline_width > 0 &&
- !clutter_color_equal (&node->outline_color, &other->outline_color))
+ !cogl_color_equal (&node->outline_color, &other->outline_color))
return FALSE;
border_image = st_theme_node_get_border_image (node);
gboolean st_theme_node_lookup_color (StThemeNode *node,
const char *property_name,
gboolean inherit,
- ClutterColor *color);
+ CoglColor *color);
gboolean st_theme_node_lookup_double (StThemeNode *node,
const char *property_name,
gboolean inherit,
/* Easier-to-use variants of the above, for application-level use */
void st_theme_node_get_color (StThemeNode *node,
const char *property_name,
- ClutterColor *color);
+ CoglColor *color);
gdouble st_theme_node_get_double (StThemeNode *node,
const char *property_name);
gdouble st_theme_node_get_length (StThemeNode *node,
/* Specific getters for particular properties: cached
*/
void st_theme_node_get_background_color (StThemeNode *node,
- ClutterColor *color);
+ CoglColor *color);
void st_theme_node_get_foreground_color (StThemeNode *node,
- ClutterColor *color);
+ CoglColor *color);
void st_theme_node_get_background_gradient (StThemeNode *node,
StGradientType *type,
- ClutterColor *start,
- ClutterColor *end);
+ CoglColor *start,
+ CoglColor *end);
GFile *st_theme_node_get_background_image (StThemeNode *node);
StCorner corner);
void st_theme_node_get_border_color (StThemeNode *node,
StSide side,
- ClutterColor *color);
+ CoglColor *color);
int st_theme_node_get_outline_width (StThemeNode *node);
void st_theme_node_get_outline_color (StThemeNode *node,
- ClutterColor *color);
+ CoglColor *color);
double st_theme_node_get_padding (StThemeNode *node,
StSide side);
const char *node_description,
const char *expected)
{
- ClutterColor color;
+ CoglColor color;
g_autofree char* value;
st_theme_node_get_foreground_color (node, &color);
- value = clutter_color_to_string (&color);
+ value = cogl_color_to_string (&color);
if (g_strcmp0 (expected, value) != 0)
{
const char *node_description,
const char *expected)
{
- ClutterColor color;
+ CoglColor color;
g_autofree char* value;
st_theme_node_get_background_color (node, &color);
- value = clutter_color_to_string (&color);
+ value = cogl_color_to_string (&color);
if (g_strcmp0 (expected, value) != 0)
{
StSide side,
const char *expected)
{
- ClutterColor color;
+ CoglColor color;
g_autofree char* value;
st_theme_node_get_border_color (node, side, &color);
- value = clutter_color_to_string (&color);
+ value = cogl_color_to_string (&color);
if (g_strcmp0 (expected, value) != 0)
{
Atom message_data_atom;
Window window;
- ClutterColor fg;
- ClutterColor error;
- ClutterColor warning;
- ClutterColor success;
+ CoglColor fg;
+ CoglColor error;
+ CoglColor warning;
+ CoglColor success;
unsigned int event_func_id;
void
na_tray_manager_set_colors (NaTrayManager *manager,
- ClutterColor *fg,
- ClutterColor *error,
- ClutterColor *warning,
- ClutterColor *success)
+ CoglColor *fg,
+ CoglColor *error,
+ CoglColor *warning,
+ CoglColor *success)
{
g_return_if_fail (NA_IS_TRAY_MANAGER (manager));
- if (!clutter_color_equal (&manager->fg, fg) ||
- !clutter_color_equal (&manager->error, error) ||
- !clutter_color_equal (&manager->warning, warning) ||
- !clutter_color_equal (&manager->success, success))
+ if (!cogl_color_equal (&manager->fg, fg) ||
+ !cogl_color_equal (&manager->error, error) ||
+ !cogl_color_equal (&manager->warning, warning) ||
+ !cogl_color_equal (&manager->success, success))
{
manager->fg = *fg;
manager->error = *error;
gboolean na_tray_manager_manage (NaTrayManager *manager);
void na_tray_manager_set_colors (NaTrayManager *manager,
- ClutterColor *fg,
- ClutterColor *error,
- ClutterColor *warning,
- ClutterColor *success);
+ CoglColor *fg,
+ CoglColor *error,
+ CoglColor *warning,
+ CoglColor *success);
G_END_DECLS
}
void
-na_xembed_set_background_color (NaXembed *xembed,
- const ClutterColor *color)
+na_xembed_set_background_color (NaXembed *xembed,
+ const CoglColor *color)
{
NaXembedPrivate *priv = na_xembed_get_instance_private (xembed);
XVisualInfo *xvisual_info;
int *width,
int *height);
-void na_xembed_set_background_color (NaXembed *xembed,
- const ClutterColor *color);
+void na_xembed_set_background_color (NaXembed *xembed,
+ const CoglColor *color);
G_END_DECLS